Sự khác biệt giữa các bậc thềm liên quan với nhau Tràn bộ đệm ngăn xếp

Số lượng các bậc thềm có sự khác biệt tinh vi trong cách khai báo ngăn chứa mà có thể làm ảnh hưởng đến cách khai thác hoạt động của bộ chống tràn ngăn xếp. Một vài kiến trúc máy tính lưu trữ địa chỉ trả về cấp cao của ngăn xếp trong register.Điều này có nghĩa là bất cứ địa chỉ trả về được ghi đè nào cũng sẽ không được sử dụng cho đến khi ngăn xếp sau được bung ra. Một ví dụ khác về máy chi tiết cụ thể có thể ảnh hưởng tới sự lựa chọn của khai thác kĩ thuật là một thực tế rằng hầu hết kiến trúc máy phong cách RISC(Reduced Instruction Set Computing) (Tối giản hướng dẫn cài đặt tính toán) sẽ không cho phép việc truy cập không sắp xếp tới bộ nhớ. Kết hợp với chiều dài nhất định dành cho các máy opcode, giới hạn của loại máy này có thể thực hiện 1 bước nhảy đến kĩ thuật ESP hầu như không thể khai báo (có 1 ngoại lệ xảy ra khi chương trình thực sự có chứa mã không chắc chắn để nhảy đến register của ngăn xếp một cách rõ ràng).

Ngăn xếp tăng trưởng

Cùng trong chủ đề về chống tràn bộ đệm ngăn xếp, có 1 kiến trúc thường được đem ra thảo luận nhưng rất hiếm khi thấy đó là khi ngăn xếp tăng trưởng theo chiều ngược lại. Sự thay đổi này trong kiến trúc thường xuyên được đề nghị như là 1 giải pháp cho vấn đề chống tràn bộ đệm bởi vì bất cứ sự tràn nào của bộ đệm ngăn xếp khi xảy ra trong cùng 1 khung ngăn xếp không thể ghi đè lại con trỏ trả về. Nghiên cứu sâu hơn nữa về yêu cầu bảo vệ này, ta nhận thấy nó là giải pháp chất phác tốt nhất. Bất cứ sự tràn nào mà xảy ra bên trong bộ đệm từ những khung ngăn xếp trước vẫn sẽ ghi đè lên con trỏ trả về và cho phép khai thác độc hại của lỗi. Ví dụ, trong ví dụ bên trên, con trỏ trả về cho foo sẽ không được ghi đè lại vì thực chất sự tràn xảy ra bên trong khung ngăn xếp cho strcpy. Tuy nhiên, bởi vì bộ đệm bị tràn trong suốt lúc gọi strcpy còn sót lại trong khung ngăn xếp trước đó, con trỏ trả về cho strcpy sẽ có địa chỉ bộ nhớ số lượng cao hơn bộ đệm. Điều này có nghĩa thay vì con trỏ trả về cho foo bị ghi đè, thì con trỏ trả về cho strcpy sẽ bị ghi đè. Tóm lại điều này có nghĩa là việc tăng trưởng ngăn xếp theo chiều ngược lại sẽ làm thay đổi một vài chi tiết về như thế nào để có thể khai thác việc chống tràn bộ đệm ngăn xếp, nhưng nósẽ không làm giảm đáng kể số lượng các lỗi có thể khai thác.